﻿<html>

<head>
	<title>Sciter运行在不同监视器DPI设置的Windows 8.1系统的多屏系统上</title>
</head>

<body>
 <div class="post" id="post-41840">
	 <h1 class="storytitle">Sciter运行在不同监视器DPI设置的Windows 8.1系统的多屏系统上</h1>
 </div>
  <div class="storycontent">
    <p>高分辨率的显示器终于来了。也许在不久的未来，你会添加一个台式机或笔记本。如果是这样的话，你就会有多个不同显示器，它们有着不同的分辨率。一个是标准的96 dpi，另一个是也许是250 dpi。 </p>
    <p>现在， Windows(v 8.1 及以上) 运行设置<a href="http://blogs.windows.com/windows/b/extremewindows/archive/2013/07/15/windows-8-1-dpi-scaling-enhancements.aspx" title="Windows Blog Article" target="_blank">不同的监视器有不同的DPI设置</a>。</p>
    <p>如果你的台式机共享多个显示器，你将有可能将某个应用程序窗口从一个屏幕移动到另一个屏幕。但是如果这两个屏幕拥有不同的DIP设置，则你的应用程序在两个屏幕间移动时需要支持动态DPI改变。</p>
    <p>Sciter引擎从V3.0.2.0版本开始已经支持这种动态DIP设置了。在sdk/samples/basics/test-system-font-and-dip.htm这里可以看到这个示例，当将该Sciter示例窗口在不同DPI监视器间移动时，你将看到:</p>
    <p><a href="images/sciter.w81.gif"><img src="images/sciter.w81.gif" alt="Sciter on Windows 8.1, per monitor DPI" width="832" height="288" class="alignright size-full wp-image-41841" /></a></p>
    <p>为了使你的HTML/CSS UI能漂亮地演示这个特性，你需要在你的设计中使用逻辑长度单位: dip (设备独立像素, 1/96 每英尺), pt, mm, in, cm等等。注意，在Sciter中，1px是一个物理单位 &#8211; 它总是指一个物理像素。在某些情况中(例如，边框宽度)，你如果将尺寸/大小依然设置为物理像素，这有可能会产生一个异常。当你需要动态调整窗口尺寸时，你需要布局动态调整，使用弹力单位总是最好的选择。</p>
    <p>注意，上面的动画中，Sciter加载的文档有三个方框: 100px, 100dip and 100dip。最后一个方框的边框也定义为dip &#8211; 当窗口移动到左边的监视器(使用125%缩放比例)，这些具有变成了不同的大小。所以后面两个也自动适应了的窗口尺寸。</p>
  </div>
 </div>
</body>
</html>
